'''
变量名称[起始位置:结束位置:步长]
口诀：切片其实很简单，只顾头来尾不管，步长为正，正向移，步长为负，则逆向移
'''
numstr = '0123456789'
# 1、有起始位置、有结束位置、有步长
print(numstr[2:5:1])  # 234
# 2、有起始位置、有结束位置、无步长（默认为正1）
print(numstr[2:5])    # 234
# 3、只有结束位置（注意：从第一个字符开始截取，直到结束位置-1）
print(numstr[:5])     # 01234
# 4、只有起始位置（如果没有结尾，代表从起始位置一直截取到字符串的末尾）
print(numstr[1:])     # 1~9
# 5、只有冒号的情况（相当于复制操作）
print(numstr[:])
# 6、只有步长情况
print(numstr[::2])    # 0 2 4 6 8
# 7、结尾位置是一个负数
print(numstr[:-1])    # 0~8
# 8、起始位置与结束位置都是负数（要求：如果步长为正，必须起始位置与结束位置是从左向右）
print(numstr[-4:-1])  # 678
print(numstr[-1:-4])  # 无法获取任何数据，截取从右向左，步长从左向右
print(numstr[-1:-4:-1]) # 987
# 9、无起始位置、无结束位置、只有步长且为负数
print(numstr[::-1])   # 9~0(也是字符串翻转的一种手段）